Virtual Desktop Infrastructure (VDI) refers to a system of providing complete centrally-managed desktops to users using computer virtualization technology. VDI is used to create a large number of independent computing environments for a large number of users. The desktop users may be grouped together based on similar software and computing needs. The desktops themselves are correspondingly grouped together in “desktop pools” that may be provisioned, managed, and deleted as single entities. In VDI, each desktop is exported to the user from a virtual machine (VM) that is assigned to the user. The desktop pools are associated with resources in the datacenter, including, but not limited to, compute resources, memory, network, and storage.
Storage in the datacenter is sometimes shared among desktop pools. Known shared storage may be provided by storage area network (SAN), network-attached storage (NAS), and other similar systems. Known shared storage systems inherently add latency to storage operations due to the storage system being remote from the computer systems, or “hosts”, that host the virtual machines associated with the desktop pool. An alternative to known shared storage systems is virtual shared storage, which uses the local storage of each host in a cluster to create an abstract storage layer. The local storage provides reduced latencies and the abstract storage layer provides benefits similar to those provided by traditional shared storage.
Virtual shared storage eliminates the need for traditional shared storage, but requires that each host in a cluster be individually administered to provision and configure the virtual shared storage. Moreover, configuring each host for improved virtual shared storage performance presents an optimization problem that is both time-consuming and burdensome due to the time required to measure performance of a cluster and the work required to separately configure each host. Accordingly, there is a need for an automated system and method for provisioning a VDI for use with virtual shared storage.